Contextual awareness using relative positions of mobile devices

ABSTRACT

A server based contextual awareness method of communicating in a wireless network includes detecting a signal strength of one or more user equipments (UEs) relative to other user equipment within a same vicinity. The method also includes detecting a pattern of the user equipment(s) and the other user equipment based on the detected signal strength of the user equipment(s) relative to the other user equipment. The method also includes deriving a social context based on the detected pattern. The method further includes initiating an action in response to the derived social context.

BACKGROUND

Field

Aspects of the present disclosure relate generally to wirelesscommunication systems, and more particularly, to contextual awarenessusing relative positions of mobile devices.

Background

Numerous systems and methods exist for tracking the location of users.Such tracking may be performed to support context-aware applications, toprovide location-based services, or for a variety of other reasons.Tracking of users is often performed by tracking the location of adevice or object uniquely associated with the user. For example,numerous mobile devices carried by users today include technology thatenables the location of such devices to be determined with varyingdegrees of accuracy. Such technology may include but is not limited to aSatellite Positioning System (SPS) (e.g., Global Positioning System(GPS) technology), (Wireless Local Area Network)WLAN technology,cellular telephony technology and Bluetooth technology. Informationobtained from the mobile devices may include actual locationinformation. For example, the location information may be based onbuilt-in GPS capability, or relative location information, such asproximity to other mobile devices, beacons, or other identifiableobjects or locations.

Positioning methods can determine a location of a target device frommeasurements by the target device of known external signal sources, suchas SPS satellites or network base stations. In addition, measurements bynetwork entities (e.g., base stations) of signals from the target devicemay also help determine the location of the target device. Thesemeasurements may enable the determination of a current, absolutelocation of the target device, for example, its precise latitude,longitude and altitude.

If a target device is unable to measure signals from external sources,and network entities are unable to measure enough signals from thetarget device, it may not be possible to obtain the location of thetarget device, and/or to obtain the location within a desired responsetime. Such cases may occur when there are physical obstructions betweenthe target device and the external signal sources and/or networkentities, for example. The inability to measure signals can occur when atarget device is inside a building or tunnel, outside in a dense urbanenvironment, or very distant from terrestrial external radio sources andnetwork entities.

SUMMARY

According to one aspect of the present disclosure, a server basedcontextual awareness method of communicating in a wireless networkincludes detecting a signal strength of one or more user equipments(UEs) relative to other user equipment within a same vicinity. Themethod may also include detecting a pattern of the one or more userequipments and the other user equipment based on the detected signalstrength of the one or more user equipments relative to the other userequipment. The method may also include deriving a social context basedon the detected pattern. The method may further include initiating anaction in response to the derived social context.

According to another aspect of the present disclosure, a server basedcontextual awareness apparatus for communicating in a wireless networkincludes means for detecting a signal strength of one or more userequipments (UEs) relative to other user equipment within a samevicinity. The apparatus may also include means for detecting a patternof the one or more user equipments and the other user equipment based onthe detected signal strength of the one or more user equipments relativeto the other user equipment. The apparatus may also include means forderiving a social context based on the detected pattern. The apparatusmay further include means for initiating an action in response to thederived social context.

According to one aspect of the present disclosure, a server basedcontextual awareness apparatus for communicating in a wireless networkincludes a memory and one or more processors coupled to the memory. Theprocessor(s) is configured to detect a signal strength of one or moreuser equipments (UEs) relative to other user equipment within a samevicinity. The processor(s) is further configured to detect a pattern ofthe one or more user equipments and the other user equipment based onthe detected signal strength. The processor(s) is further configured toderive a social context based on the detected pattern. The processor(s)is further configured to initiate an activity in response to the derivedsocial context.

According to another aspect of the present disclosure, a computerprogram product for wireless communications in a wireless networkincludes a computer-readable medium having non-transitory program coderecorded thereon. The program code includes program code to detect asignal strength of one or more user equipments (UEs) relative to otheruser equipment within a same vicinity. The program code also includesprogram code to detect a pattern of the one or more user equipments andthe other user equipment based on the detected signal strength. Theprogram code also includes program code to derive a social context basedon the detected pattern. The program code also includes program code toinitiate an activity in response to the derived social context.

This has outlined, rather broadly, the features and technical advantagesof the present disclosure in order that the detailed description thatfollows may be better understood. Additional features and advantages ofthe disclosure will be described below. It should be appreciated bythose skilled in the art that this disclosure may be readily utilized asa basis for modifying or designing other structures for carrying out thesame purposes of the present disclosure. It should also be realized bythose skilled in the art that such equivalent constructions do notdepart from the teachings of the disclosure as set forth in the appendedclaims. The novel features, which are believed to be characteristic ofthe disclosure, both as to its organization and method of operation,together with further objects and advantages, will be better understoodfrom the following description when considered in connection with theaccompanying figures. It is to be expressly understood, however, thateach of the figures is provided for the purpose of illustration anddescription only and is not intended as a definition of the limits ofthe present disclosure.

BRIEF DESCRIPTION OF THE DRAWINGS

The features, nature, and advantages of the present disclosure willbecome more apparent from the detailed description set forth below whentaken in conjunction with the drawings in which like referencecharacters identify correspondingly throughout.

FIG. 1 shows a layout of a close proximity environment illustrating agroup of users gathered together for an event according to some aspectsof the disclosure.

FIGS. 2A-2E illustrate sample patterns of user equipment representing agroup of users gathered together for an event according to some aspectsof the disclosure.

FIG. 3 is a block diagram illustrating a server based contextualawareness method or process for communicating in a wireless network.

FIG. 4 shows a block diagram of a satellite positioning system (SPS)system according to some aspects of the disclosure.

FIG. 5 illustrates an exemplary computer system, which may be employedto implement the central server according to some aspects of thedisclosure.

FIG. 6 is a diagram illustrating an example of a hardware implementationfor an apparatus employing a contextual awareness processing system.

DETAILED DESCRIPTION

The detailed description set forth below, in connection with theappended drawings, is intended as a description of variousconfigurations and is not intended to represent the only configurationsin which the concepts described herein may be practiced. The detaileddescription includes specific details for the purpose of providing athorough understanding of the various concepts. It will be apparent tothose skilled in the art however, that these concepts may be practicedwithout these specific details. In some instances, well-known structuresand components are shown in block diagram form to avoid obscuring suchconcepts.

In some aspects of the disclosure, a contextually aware user equipment(UE), mobile device, or cell phone for leveraging collected data orinformation to improve an overall user experience is described.Improvement in the accuracy of Satellite Positioning Systems (GPS) andindoor positioning systems enable the user equipment to draw someconclusions on what a user may be doing, based on a location of thosearound the user.

The user equipment is contextually aware based on what processing theuser equipment is performing and the surrounding situation. For example,some aspects of the disclosure allow for the determination of a userequipment location relative to other user equipment within a closeproximity environment. Some examples of a close proximity environmentmay include a room, a vehicle, a classroom, an outdoor gathering, or thelike. Based on the relative positions or locations of the userequipment, a pattern is detected and a social context is derived basedon the detected pattern. Deriving a social context may include drawing aconclusion about the current activity of a user associated with the userequipment. An action can be initiated in response to detecting thesocial context or activity of the user of the user equipment. Forexample, if the user equipment is operating in a classroom, the userequipment (or a server associated with the user equipment) may generateinformation to suggest switching the user equipment to a vibrate mode.

FIG. 1 shows a layout of a close proximity environment 100 illustratinga group of users gathered together for an event according to one aspectof the disclosure. The close proximity environment 100 may be aconference room, a vehicle, a classroom, a club, a bar, or the like.Each user may have a user equipment (UE) 110 (110-1, . . . , 110-N)configured to transmit and receive location signals of the surroundingor neighboring user equipment 110. For example, a target user equipment110-1 may run a background process that reports signals such as thelocation and other sensor (e.g. accelerometer) data or information toother user equipment 110-3 and 110-N, and/or to a central server 112.The server 112 can harness this data from the users and others close byfor providing information to the user equipment 110 based on a socialcontext or activity in which the users are engaged.

In some aspects of the disclosure, the relative position of a UE 110 isdetermined based on triangulation of a user's position according to aBluetooth implementation, a WLAN implementation, a WiFi directimplementation, Near Field Communications (NFC) implementation, anultrasound implementation, or any other implementation that is capableof providing location information of a user equipment 110-1 in relationto other user equipment 110. Each user equipment 110 may be equippedwith a transceiver for transmitting and receiving signals to/from theserver 112 and the other user equipment 110. In some aspects of thedisclosure, the transceiver can be an ultrasound, Bluetooth, WiFitransceiver and/or any other like transceiver. The relative locations ofthe user equipment 110 may be determined based on an amplitude of asignal received at the transceiver of the respective user equipment 110.In general, the user equipment 110 that are further away from the targetuser equipment 110-1 may have a weaker signal than those that are closerto the target user equipment 110-1.

In some aspects of the disclosure, the target user equipment 110-1, inresponse to receiving the signals from its neighboring user equipment110, may determine a pattern of the users. The determination of thepattern may be based on the relative signal strengths and/or locationsof the neighboring user equipment 110. The target user equipment 110-1can determine a social context or an activity based on the determinedpattern. In response to determining the social context, the userequipment 110 can receive or generate information associated with thedetermined social context or activity. The user equipment 110 mayinclude a storage device or memory to store one or more patternsassociated with the different social contexts. The stored patterns candetermine a future social context or an activity of the user.

In some aspects of the disclosure, each user equipment 110 maycommunicate their location information to a central server 112. Thelocation information communicated by each user equipment 110 may berelative to the location of the neighboring user equipment 110. Therelative location of a user equipment 110 may be based on a detectedsignal from one or more user equipment 110. For example, the userequipment 110 may detect the signal and forward information associatedwith the detected signal to the server 112. The information may indicatethat one or more of the user equipments 110 are moving away from ortoward one another.

In one aspect of the disclosure, the central server 112 may accesssignal strength information of one or more user equipments 110 relativeto other user equipment 110 within a same vicinity. In one aspect of thedisclosure, the detection at the central server is based on theinformation received from the user equipment 110. In other aspects ofthe disclosure, the user equipment 110 may detect signal strengthinformation of one or more user equipments 110 relative to other userequipment 110 and forward the signal strength information to the centralserver 112. Based on the location information, the central server 112can detect a pattern of the users of the user equipments 110. Thecentral server 112 can then determine a social context or an activity ofthe users based on the detected pattern. One aspect of the disclosuredynamically tracks changes in user equipment patterns and derives asocial context based on the detected changes in user equipment patterns.

As shown in FIG. 1, the server 112 may include a storage device, memoryor database 114 to store one or more predetermined patterns associatedwith one or more social contexts. In one configuration, the storagedevice 114 is independent, but coupled to the server 112. In someaspects of the disclosure, the server 112 is remotely located, and theuser equipment 110 can transmit to and receive information from theserver 112 via a wired and/or wireless network.

By having a database of predetermined patterns associated with differentsocial context activities, the determination of a future social contextor an activity of the user can be improved. For example, the server 112can compare current information received from one or more user equipment110 against the information in the database or the storage device 114.The result of the comparison may determine a current social context. Forexample, if the current pattern associated with the target userequipment 110-1 relative to other user equipment 110-2 to 110-N issimilar to an existing pattern in the database, the user of the targetuser equipment 110-1 may be engaged in a social activity similar to thatof the existing pattern. In one configuration, the result of thecomparison may prompt the server 112 to update an existing socialcontext associated with a pattern in the storage device 114.

In some aspects of the disclosure, a user of the target user equipment110-1 may provide the server 112 with the social activity in which theuser is engaged as social activity information. When the user providesthe social activity information, the server 112 may use that informationto improve or optimize its pattern detection capability. For example, inconjunction with the social activity information received, the server112 may also obtain location information of the target user equipment110-1 relative to other user equipment 110-2 110-N. Based on thelocation information, the server 112 can detect a pattern and determinea current social context of the target user equipment 110-1. Thedetermined current social context may be compared to the social contextor the activity provided by the user, and the result is used to improveor optimize the pattern detection capability of the server 112. Forexample, some parameters for detecting the pattern and the socialcontext can be adjusted to improve the correspondence between the socialcontext information provided by the user and the social contextdetermined by the server 112.

FIGS. 2A-2E illustrate sample patterns of user equipment 210 (210-1, . .. , 210-N) representing a group of users gathered together for an eventaccording to some aspects of the disclosure. As described above withreference to FIG. 1, the server 112 may be configured to recognizepatterns based upon the information or data received from the userequipment 210. For example, if the user equipment 210 are in asubstantially circular arrangement 200 and are stationary, asillustrated in FIG. 2A, the server 112 may deduce that the users are ina conference room and that a meeting is taking place. In thisconfiguration, the server 112 may suggest or automatically switchringers to vibrate mode, for example. When a member of a group meetingmoves to the head of the table, indicating that he/she becomes themeeting moderator, control of a shared application being projected on ascreen may be transferred to that user, and the application (e.g.,Microsoft Live Meeting) may be reconfigured accordingly.

When the user equipment 210 are in a substantially linear arrangement202, as illustrated in FIG. 2B, the server 112 may deduce that the usersare waiting in line for an event. The server 112 can compute a length ofthe line, and provide information about, for example, an average waittimes at the store or theaters, or other like establishment. When theinformation received by the server 112 suggests that the users are inseveral lines and stationary, the server 112 may deduce that the usersare in a lecture hall or a movie theater. In one configuration, theinformation received by the server 112 may indicate that a user of auser equipment 210 is standing while other users may be sitting. In oneaspect of the disclosure, an accelerometer may be implemented in theuser equipment 110 to detect whether a user is sitting, walking,running, standing etc. This information may be based on informationgenerated by an accelerometer associated with the user equipment 210. Inthis case, the server 112 may deduce that the user that is standing ispresenting to the other users who are sitting.

In some aspects of the disclosure, the information received by theserver 112 from the user equipment 210 may indicate that several usersare within a close proximity and moving without an organized pattern. Inthis case, the server 112 may deduce that a social gathering or partywith loud noise may be occurring. In response, the server may generate,provide, or activate an application for illustrating or demonstratingevents that occurred at the party. For example, an animation applicationmay be launched to illustrate an event that occurred at the socialgathering.

In some aspects of the disclosure, the information received by theserver may indicate that all of the user equipment 210 are arranged in asubstantially rectangular shaped configuration 204 and are traveling atthe same speed, as illustrated in FIG. 2C. In this situation, the server112 may deduce that the users are traveling in a moving vehicle. Thedriver's user equipment 210-1 may be identified out of the group basedon the relative position of the user equipment 210 and other informationreceived from the user equipment 210-2, 210-3, and 210-4. As a result,an incoming text messages may be routed to a passenger's phone. Further,“road trip” applications on all the user equipment 210 in the travelinggroup may become more prominent in their operating system menus.

In some aspects of the disclosure, a group dispersal pattern 206, asillustrated in FIG. 2D, or a group gathering pattern 208, as illustratedin FIG. 2E, may be detected by the server 112. The detection may bebased on information received by the server 112 indicating that the userequipment 210 are moving away from or toward one another. In the casewhere the user equipments 210 move away, the server 112 may deduce thata meeting, event, or activity has ended. The server may thenautomatically generate messages to others who might be on their way tothe event. Conversely the spontaneous formation of a group, asillustrated in FIG. 2D may result in the server 112 generating a messageto others who subscribe to a given activity.

The detection of patterns described with reference to FIGS. 2A to 2E, byleveraging the location of those around a user, provides the user withimproved communication system and/or network interaction.

FIG. 3 is a block diagram illustrating a server based contextualawareness method 300 for communicating in a wireless network. The methodincludes detecting a signal strength of one or more user equipments(UEs) relative to other user equipment within a same vicinity at block310. For example, as shown in FIG. 1, the central server 112 may detectsignal strength information of one or more user equipments 110 relativeto other user equipment 110 within a same vicinity based on informationreceived from the user equipment 110. At block 312, a pattern of theuser equipment(s) and the other user equipment is detected based on thedetected signal strength of the user equipment(s) relative to the otheruser equipment. For example, as shown in FIG. 1, based on the locationinformation, the central server 112 can detect a pattern of the users ofthe user equipment 110. At block 314, the method includes deriving asocial context based on the detected pattern. For example, as shown inFIG. 1, the central server 112 can determine a social context or anactivity of the users based on the detected pattern. At block 316, themethod initiates an action in response to the derived social context.For example, as shown in FIG. 1, if the user equipment is operating in aclassroom, the user equipment 110 (or a server 112 associated with theuser equipment 110) may generate information to suggest switching theuser equipment 110 to a vibrate mode.

Although the location or positions of the users may be determined asdescribed above, the locations can also be determined by other positiondetermination systems (PDS). In one aspect of the disclosure, thepositions or locations of the participants can be determined asdescribed above and/or by PDS in the user equipment or mobilecommunication device, such as cell phones carried by the participants.The PDS may include any number of ground and satellite-based positioningsystems. For example, PDSs may include but are not limited to satellitepositioning systems (SPSs) and Global Navigation Satellite Systems(GNSS), such as Global Positioning System (GPS), Galileo, Glonass, andBeiDou and the like. A PDS can also include any ground based positiondetermination system or indoor location system, as noted above.

FIG. 4 shows a block diagram of an SPS system 400 according to oneaspect of the present disclosure. As shown in FIG. 4, the SPS system 400includes various satellites. Representatively, satellites 420 (420-1, .. . , 420-N), are shown as a part of the SPS system 400. Some of thesatellites 420, however, may actually belong to additional systems. Thesatellites 420 may be used together, as a part of the SPS 400, forvarious purposes.

A user equipment or mobile device 410 is configured to acquire, receive,and process the signals from the satellites 420, which may be from anSPS, such as a GPS, Galileo, GLONASS, GNSS, a system that usessatellites from a combination of these systems, or any SPS developed inthe future. In this aspect of the present disclosure, an SPS/PDSpositioning process begins with the mobile device 410 searching forlocation data from alternative sources, such as a cell site 422, alaptop computer 430, a desktop computer 440, the wireless transmitter432 via the laptop computer 430, and a wireless transmitter 424. Thetransmitter 424 could include any number of various transmitters, suchas a BLUETOOTH™ transmitter, an 802.11x wireless access point, afemtocell, a transponder device, a digital television (DTV) transmitter,a commercial radio transmitter (e.g., FM or AM radio), and the like. Insome cases, the location data is converted to an actual location. Inother cases, the location data itself, rather than the actual locationis processed by the mobile device 410. For example, a time difference ofarrival (TDOA) between two cell sites measurement may be received andused as the location data by the mobile device 410.

The mobile device 410 can establish communication with the cell site 422in either a uni-directional or bi-directional communication. The mobiledevice 410 and the cell site 422 may provide various forms of locationdata, such as a mobile country code (MCC), and a cell identifier (ID).In this configuration, the MCC and/or ID enable a lookup of the celllocation in a base station almanac, latitude, longitude, and altitude.In this configuration, the latitude, longitude, and altitude of the cellmay be used as a seed location or combined with the location from othertransceivers, as well as timing and/or signal strength information, tocalculate a seed location of the mobile device 410. In a uni-directionalcommunication, the mobile device 410 receives at least the cell ID.During a bi-directional communication, the mobile device 410 receives atleast the MCC and the cell site ID. The information received during thebi-directional communication is more reliable because the identities ofthe mobile device 410, the cell site 422, and the network that operatesover the cell site 422 are verified. In this case, the location of thebase stations and transceivers may be verified for accuracy via thebi-directional communication.

The methodologies described herein may be implemented by varioustechniques depending upon the application. For example, thesemethodologies may be implemented in hardware, firmware, software, or anycombination thereof. For a hardware implementation, the processing unitsmay be implemented within one or more application specific integratedcircuits (ASICs), digital signal processors (DSPs), digital signalprocessing devices (DSPDs), programmable logic devices (PLDs), fieldprogrammable gate arrays (FPGAs), processors, controllers,micro-controllers, microprocessors, electronic devices, other electronicunits designed to perform the functions described herein, or acombination thereof.

For a firmware and/or software implementation, the methodologies may beimplemented with modules (e.g., procedures, functions, and so on) thatperform the functions described herein. Any machine or computer readablemedium tangibly embodying instructions may be used in implementing themethodologies described herein. For example, software code may be storedin a memory and executed by a processor. When executed by the processor,the executing software code generates the operational environment thatimplements the various methodologies and functionalities of thedifferent aspects of the teachings presented herein. Memory may beimplemented within the processor or external to the processor. As usedherein the term “memory” refers to any type of long term, short term,volatile, nonvolatile, or other memory and is not to be limited to anyparticular type of memory or number of memories, or type of media uponwhich memory is stored.

The machine or computer readable medium that stores the software codedefining the methodologies and functions described herein includescomputer readable storage media. A computer readable storage medium maybe any available medium that can be store information and can beaccessed by a computer (and does not refer to a transitory propagatingsignal). By way of example, and not limitation, such computer-readablestorage media can comprise RAM, ROM, EEPROM, CD-ROM or other opticaldisk storage, magnetic disk storage or other magnetic storage devices,or any other medium that can be used to store desired program code inthe form of instructions or data structures and that can be accessed bya computer. As used herein, disk and/or disc includes compact disc (CD),laser disc, optical disc, digital versatile disc (DVD), floppy disk andblu-ray disc where disks usually reproduce data magnetically, whilediscs reproduce data optically with lasers. Combinations of the aboveshould also be included within the scope of computer readable storagemedia.

In addition to storage on computer readable storage medium, instructionsand/or data may be provided as signals on transmission media included ina communication apparatus. For example, a communication apparatus mayinclude a transceiver having signals indicative of instructions anddata. The instructions and data are configured to cause one or moreprocessors to implement the functions outlined in the claims.

FIG. 5 illustrates a computer system 500, which may be employed toimplement the central server 112 and/or UE 110, 210 according to certainaspects of the present disclosure. A central processing unit (“CPU” or“processor”) 551 is coupled to a system bus 552. The CPU 551 may be anygeneral-purpose processor. The present disclosure is not restricted bythe architecture of the CPU 551 (or other components of the exemplarysystem 500) as long as the CPU 551 (and other components of the system500) supports the operations as described herein. As such, the CPU 551may provide processing to the system 500 through one or more processorsor processor cores. The CPU 551 may execute the various logicalinstructions described herein. For example, the CPU 551 may executemachine-level instructions according to the exemplary operational flowdescribed above in conjunction with FIG. 3. When executing instructionsrepresentative of the operational blocks illustrated in FIG. 3, the CPU551 becomes a special-purpose processor of a special purpose computingplatform configured specifically to operate according to the variousaspects of the teachings described herein.

The computer system 500 also includes random access memory (RAM) 553,which may be SRAM, DRAM, SDRAM, or the like. The computer system 500includes read-only memory (ROM) 554 which may be PROM, EPROM, EEPROM, orthe like. The RAM 553 and ROM 554 hold user and system data andprograms, as is well known in the art.

The computer system 500 also includes an input/output (I/O) adapter 555,communications adapter 561, user interface adapter 558, and displayadapter 559. The I/O adapter 555, user interface adapter 558, and/orcommunications adapter 561 may, in certain aspects of the disclosure,enable a user to interact with the computer system 500 to inputinformation. A communication module/transceiver 567 provides radiofrequency communication capabilities to the computer system 500. A SPSreceiver 568 provides satellite-enabled positioning information to beobtained in various satellite positioning systems.

The I/O adapter 555 couples a storage device(s) 556, such as one or moreof a hard drive, compact disc (CD) drive, floppy disk drive, tape drive,SD card, etc., to the computer system 500. The storage devices areutilized in addition to the RAM 553 for the memory associated withperforming the operations associated with the SPS receivers and contextawareness processing configured according to various aspects of thepresent teachings. The communications adapter 561 is adapted to couplethe computer system 500 to the network 562, which may enable informationto be input to and/or output from the system 500 via the network 562(e.g., the Internet or other wide-area network, a local-area network, apublic or private switched telephony network, a wireless network, anycombination of the foregoing). A user interface adapter 558 couples userinput devices, such as a keyboard 563, a pointing device 557, a touchscreen (not depicted) and a microphone 564 and/or output devices, suchas speaker(s) 565 to the computer system 500. A display adapter 559 isdriven by the processor 551 or by a graphical processing unit (GPU) 566to control the display on a display device 560, for example, to displaythe context aware resulting applications. A GPU 566 may be any of avarious number of processors dedicated to graphics processing and, asillustrated, may be made up of one or more individual graphicalprocessors. A GPU 566 processes the graphical instructions and transmitsthose instructions to a display adapter 559. The display adapter 559further transmits those instructions for transforming or manipulatingthe state of the various numbers of pixels used by the display device560 to visually present the desired information to a user. Suchinstructions include instructions for changing state from on to off,setting a particular color, intensity, duration, or the like. Each suchinstruction makes up the rendering instructions that control how andwhat is displayed on the display device 510.

FIG. 6 is a diagram illustrating an example of a hardware implementationfor an apparatus 600 employing a contextual awareness system 614. Thecontextual awareness system 614 may be implemented with a busarchitecture, represented generally by a bus 624. The bus 624 mayinclude any number of interconnecting buses and bridges depending on thespecific application of the contextual awareness system 614 and theoverall design constraints. The bus 624 links together various circuitsincluding one or more processors and/or hardware modules, represented bya processor 604, a signal detection module 608, a pattern detectionmodule 612, a deriving module 616 and an initiating module 602, and acomputer-readable storage medium 606. The bus 624 may also link variousother circuits such as timing sources, peripherals, voltage regulators,and power management circuits, which are well known in the art, andtherefore, will not be described any further.

The apparatus 600 includes the contextual awareness system 614 coupledto a transceiver 610. The transceiver 610 is coupled to one or moreantennas 620. The transceiver 610 provides a means for communicatingwith various other apparatus over a transmission medium. The contextualawareness system 614 includes the processor 604 coupled to thecomputer-readable storage medium 606. The processor 604 is responsiblefor general processing, including the execution of software stored onthe computer-readable storage medium 606. The software, when executed bythe processor 604, causes the contextual awareness system 614 to performthe various functions described supra for any particular apparatus. Thecomputer-readable storage medium 606 may also be used for storing datathat is manipulated by the processor 604 when executing software. Thecontextual awareness system 614 further includes the signal detectionmodule 608, the pattern detection module 612, the deriving module 616and the initiating module 602. The signal detection module 608, thepattern detection module 612, the deriving module 616 and the initiatingmodule 602 may be software modules running in the processor 604,resident/stored in the computer readable storage medium 606, one or morehardware modules coupled to the processor 604, or some combinationthereof The contextual awareness system 614 may be a component of thecentral server 112 and may include the memory 114.

In one configuration, the apparatus 600 for wireless communicationincludes means for detecting a signal strength of one or more userequipments relative to other user equipment within a same vicinity. Thesignal strength detecting means may be the signal detection module 608,the central server 112, the user equipment 110, 210 and/or thecontextual awareness system 614 of the apparatus 600 configured toperform the functions recited by the signal strength detecting means. Ina system in which apparatus 600 doesn't directly detect the signalstrength, it detects the signal strength by accessing receivedinformation indicative of signal strength. In another aspect, theaforementioned means may be any module or any apparatus configured toperform the functions recited by the aforementioned means.

In one configuration, the apparatus 600 for wireless communicationincludes means for detecting a pattern of the one or more userequipments and the other user equipment based on the detected signalstrength of the one or more user equipments relative to the other userequipment. The pattern detecting means may be the pattern detectionmodule 612, the central server 112, the user equipment 110, 210 and/orthe contextual awareness system 614 of the apparatus 600 configured toperform the functions recited by the pattern detecting means. In anotheraspect, the aforementioned means may be any module or any apparatusconfigured to perform the functions recited by the aforementioned means.

In one configuration, the apparatus 600 for wireless communicationincludes means for deriving a social context based on the detectedpattern. The deriving means may be the deriving module 616, the centralserver 112, the user equipment 110, 210 and/or the contextual awarenesssystem 614 of the apparatus 600 configured to perform the functionsrecited by the deriving means. In another aspect, the aforementionedmeans may be any module or any apparatus configured to perform thefunctions recited by the aforementioned means.

In one configuration, the apparatus 600 for wireless communicationincludes means for initiating an action in response to the derivedsocial context. The initiating means may be the initiating module 602,the central server 112, the user equipment 110, 210 and/or thecontextual awareness system 614 of the apparatus 600 configured toperform the functions recited by the initiating means. In anotheraspect, the aforementioned means may be any module or any apparatusconfigured to perform the functions recited by the aforementioned means.

Apparatus 600 may be implemented in a number of ways. For example,apparatus 600 may be a mobile device such as a UE 110 or one or morenetwork resources such as central server 112. The components ofapparatus 600 may be implemented in a single device, or at least somefunctionality may be performed by more than one device. Althoughapparatus 600 shows discrete modules for ease of illustration, as notedabove some or all of the functionality may be performed by differentmodule(s). For example, where a module may be implemented using memoryand processing resources, the functionality attributed to a particularmodule in FIG. 6 may in some implementations be performed entirely usingprocessor 604 and computer readable storage medium 606.

Signal detection module 608 may be implemented in a combination ofhardware and software. For example, signal detection module 608 mayinclude one or more antennas and/or antenna interfaces to receivesignals from other mobile devices in the vicinity. The signal detectionmodule may also include a processor (e.g., processor 604 may performsome functionality of signal detection module 608) to determine signalstrength(s) for at least one additional mobile device. Locations of theother mobile devices in the vicinity may be determined, although in someimplementations patterns can be detected using signal strengthinformation (and perhaps additional information), without explicitlydetermining a location of the other mobile devices. The signal strengthinformation can then be used to detect a pattern using pattern detectionmodule 612.

Pattern detection module 612 may detect a pattern using location and/orsignal strength information. As with signal detection module 608,pattern detection module 612 may be at least partially implemented usingprocessor 604 and computer-readable storage medium 606. For example,instructions to detect patterns may be stored in computer-readablestorage medium 606, as well as pattern information associated with oneor more particular contexts. Processor 604 may execute the instructionsand cause results of the pattern detection to be stored in computerreadable storage medium 606.

Deriving module 616 may derive a social context using the informationfrom pattern detection module 612. For example, received signalinformation and/or position information may be compared to one or morestored patterns to determine similarity between the detected and storedpattern. If the detected pattern corresponds to the stored pattern, thesocial context may be derived as a social context associated with thestored pattern.

As noted above, additional information may be used to derive socialcontext. For example, information from one or more sensors can be usedto classify a motion state and/or position state of the mobile device.If the detected pattern corresponds to a conference room, and a motionstate of the user corresponds to standing, the derivation module maydetermine that the user of the mobile device is the speaker in theconference room. In a similar example, if information from the mobilephone microphone is used to determine a state of the user, correlationof an audio signal with the user's voice can be used to derive thesocial context of the user. If the user alone is speaking, the socialcontext may again be derived as being in a conference room and speaking,whereas if the mobile device detects a single speaker that is not theuser, the social context may be derived as being in a conference room aspart of an audience. If multiple voices are speaking, the social contextmay be determined as being in a conference room and participating in adiscussion.

After the social context is derived, an action may be initiated usinginitiating module 602, based on the derived context. If apparatus 600 isa mobile device, the action may be initiated and performed at the mobiledevice. If apparatus 600 is a network resource, the action may in somecases be initiated by transmitting control information to one or moremobile devices.

Those of skill would further appreciate that the various illustrativelogical blocks, modules, circuits, and algorithm steps described inconnection with the disclosure herein may be implemented as electronichardware, computer software, or combinations of both. To clearlyillustrate this interchangeability of hardware and software, variousillustrative components, blocks, modules, circuits, and steps have beendescribed above generally in terms of their functionality. Whether suchfunctionality is implemented as hardware or software depends upon theparticular application and design constraints imposed on the overallsystem. Skilled artisans may implement the described functionality invarying ways for each particular application, but such implementationdecisions should not be interpreted as causing a departure from thescope of the present disclosure.

The various illustrative logical blocks, modules, and circuits describedin connection with the disclosure herein may be implemented or performedwith a general-purpose processor, a digital signal processor (DSP), anapplication specific integrated circuit (ASIC), a field programmablegate array (FPGA) or other programmable logic device, discrete gate ortransistor logic, discrete hardware components, or any combinationthereof designed to perform the functions described herein. Ageneral-purpose processor may be a microprocessor, but in thealternative, the processor may be any conventional processor,controller, microcontroller, or state machine. A processor may also beimplemented as a combination of computing devices, e.g., a combinationof a DSP and a microprocessor, a plurality of microprocessors, one ormore microprocessors in conjunction with a DSP core, or any other suchconfiguration.

The steps of a method or algorithm described in connection with thedisclosure may be embodied directly in hardware, in a software moduleexecuted by a processor, or in a combination of the two. A softwaremodule may reside in RAM memory, flash memory, ROM memory, EPROM memory,EEPROM memory, registers, hard disk, a removable disk, a CD-ROM, or anyother form of computer readable storage medium known in the art. Anexemplary computer readable storage medium is coupled to the processorsuch that the processor can read information from, and write informationto, the computer readable storage medium. In the alternative, thecomputer readable storage medium may be integral to the processor. Theprocessor and the computer readable storage medium may reside in anASIC. The ASIC may reside in a user terminal In the alternative, theprocessor and the computer readable storage medium may reside asdiscrete components in a user terminal.

In one or more exemplary designs, the functions described may beimplemented in hardware, software, firmware, or any combination thereofIf implemented in software, the functions may be stored on ortransmitted over as one or more instructions or code on acomputer-readable medium. Computer-readable media includes both computerreadable storage media and communication media including any medium thatfacilitates transfer of a computer program from one place to another. Acomputer readable storage media may be any available media that can beaccessed by a general purpose or special purpose computer. By way ofexample, and not limitation, such computer-readable media can compriseRAM, ROM, EEPROM, CD-ROM or other optical disk storage, magnetic diskstorage or other magnetic storage devices, or any other medium that canbe used to carry or store desired program code means in the form ofinstructions or data structures and that can be accessed by ageneral-purpose or special-purpose computer, or a general-purpose orspecial-purpose processor. Disk and disc, as used herein, includescompact disc (CD), laser disc, optical disc, digital versatile disc(DVD), floppy disk and blu-ray disc where disks usually reproduce datamagnetically, while discs reproduce data optically with lasers.Combinations of the above should also be included within the scope ofcomputer-readable media. The phrases “storage media,” “computer readablestorage media,” and similar phrases do not refer to transitorypropagating signals.

The previous description of the disclosure is provided to enable anyperson skilled in the art to make or use the disclosure. Variousmodifications to the disclosure will be readily apparent to thoseskilled in the art, and the generic principles defined herein may beapplied to other variations without departing from the spirit or scopeof the disclosure. Thus, the disclosure is not intended to be limited tothe examples and designs described herein but are to be accorded thewidest scope consistent with the principles and novel features disclosedherein.

What is claimed is:
 1. A contextual awareness method comprising:accessing, using a receiver coupled to an antenna, signal strengthinformation of signals received by at least one user equipment fromother user equipment within a same vicinity, wherein the at least oneuser equipment is a mobile device; determining a location of the atleast one user equipment relative to at least two other user equipmentbased on the signal strength information; determining a user equipmentpattern of the at least one user equipment and the at least two otheruser equipment based on the determined location of the at least one userequipment relative to the at least two other user equipment; deriving asocial context based on the determined user equipment pattern bycomparing the determined user equipment pattern with predeterminedpatterns associated with different social contexts; and initiating anaction of the at least one user equipment in response to the derivedsocial context.
 2. The method of claim 1, further comprising:dynamically tracking changes in the user equipment pattern; and derivingthe social context based on the tracked changes in the user equipmentpattern.
 3. The method of claim 1, in which deriving the social contextcomprises one of determining a driver of a vehicle, determining aspeaker of a meeting, and determining a teacher in a classroom.
 4. Themethod of claim 1, in which accessing signal strength informationcomprises accessing information indicative of signal strength for atleast one signal type selected from the group consisting of Bluetoothsignal, a Wireless Local Area Network (WLAN) signal, and an ultrasoundsignal.
 5. The method of claim 1, in which initiating the action furthercomprises one of: initiating a process to switch the at least one userequipment to a vibrate mode, initiating transfer of control of a sharedapplication, computing a length of a queue and determining informationabout an average wait time of the queue, initiating launch of anapplication on the at least one user equipment, and routing incomingtext messages to passengers of a vehicle.
 6. An apparatus comprising: amemory; and at least one processor coupled to the memory and configured:to access, using a receiver coupled to an antenna, signal strengthinformation of signals received by at least one user equipment fromother user equipment within a same vicinity, wherein the at least oneuser equipment is a mobile device, to determine a location of the atleast one user equipment relative to at least two other user equipmentbased on the signal strength information, to determine a user equipmentpattern of the at least one user equipment and the at least two otheruser equipment based on the determined location of the at least one userequipment relative to the at least two other user equipment, to derive asocial context based on the determined user equipment pattern bycomparing the determined user equipment pattern with predeterminedpatterns associated with different social contexts, and to initiate anactivity of the at least one user equipment in response to the derivedsocial context.
 7. The apparatus of claim 6, in which the at least oneprocessor is further configured: to dynamically track changes in thedetected user equipment pattern; and to derive the social context basedon the tracked changes in the user equipment pattern.
 8. The apparatusof claim 6, in which the at least one processor is further configured toderive the social context by one of: determining a driver of a vehicle,determining a speaker of a meeting, and determining a teacher in aclassroom.
 9. The apparatus of claim 6, in which the accessing thesignal strength information comprises accessing information indicativeof one or more signal strength types selected from the group consistingof: Bluetooth signal strength, Wireless Local Area Network (WLAN) signalstrength, and ultrasound signal strength.
 10. The apparatus of claim 6,in which the at least one processor is further configured to initiatethe activity by one of: initiating a process to switch the at least oneuser equipment to a vibrate mode, initiating transfer of control of ashared application, computing a length of a queue and determininginformation about an average wait time of the queue, initiating launchof an application on the at least one user equipment, and routingincoming text messages to passengers of a vehicle.
 11. A computerprogram product for wireless communications in a wireless network,comprising: a non-transitory computer-readable storage medium havingprogram code recorded thereon, the program code comprising: program codeto access, using a receiver coupled to an antenna, signal strengthinformation of signals received by at least one user equipment fromother user equipment within a same vicinity, wherein the at least oneuser equipment is a mobile device, program code to determine a locationof the at least one user equipment relative to at least two other userequipment based on the accessed signal strength information, programcode to determine a user equipment pattern of the at least one userequipment and the at least two other user equipment based on thedetermined location of the at least one user equipment relative to theat least two other user equipment, program code to derive a socialcontext based on the determined user equipment pattern by comparing thedetermined user equipment pattern with predetermined patterns associatedwith different social contexts, and program code to initiate an activityof the at least one user equipment in response to the derived socialcontext.
 12. The computer program product of claim 11, furthercomprising: program code to dynamically track changes in the userequipment pattern; and program code to derive the social context basedon the tracked changes in the user equipment pattern.
 13. The computerprogram product of claim 11, in which the program code to derive thesocial context further comprises one or more program code types selectedfrom the group consisting of: program code to determine a driver of avehicle, program code to determine a speaker of a meeting, and programcode to determine a teacher in a classroom.
 14. The computer programproduct of claim 11, in which the program code to access signal strengthinformation comprises program code to store one or more signal strengthinformation types selected from the group consisting of: Bluetoothsignal strength information, Wireless Local Area Network (WLAN) signalstrength, and ultrasound signal strength.
 15. The computer programproduct of claim 11, in which the program code to initiate the activityfurther comprises one of: program code to initiate a process to switchthe at least one user equipment to a vibrate mode, program code toinitiate transfer of control of a shared application, program code tocompute a length of a queue and determine information about an averagewait time of the queue, program code to initiate launch of anapplication on the at least one user equipment, and program code toroute incoming text messages to passengers of a vehicle.